#include <cstdio>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;
int l,r;
const int N=1e9+50;
bool is[N];
vector<int> prime;
void init(){
    memset(is,true,sizeof(is));
    is[0]=is[1]=false;
    for(int i=2;i<N;i++){
        printf("%d\n",i);
        // if(is[i]){
        //     prime.push_back(i);
        // }
        // if(is[i]){
        //     if(i*i>N){
        //         continue;
        //     }
        //     for(int j=i*i;j<N;j+=i){
        //         is[j]=false;
        //     }
        // }
    }
}
int main(void){
    init();
    scanf("%d%d",&l,&r);
    int n=prime.size();
    int ans=0;
    for(int i=0;i<n;i++){
       // printf("%d\n",r/prime[i]-(l-1)/prime[i]);
        ans=max(ans,r/prime[i]-(l-1)/prime[i]);
    }
    printf("%d\n",ans);
    return 0;
}